package ooday02;

public class OODay02Evensong {
}

/*
简答题、问答题:
1.JDK、JRE、JVM的区别:
  1)JDK:java开发工具包，是java的核心，包括:JRE+编译、运行等命令工具
  2)JRE:java运行环境，是运行java程序所必须的环境集合，包括:JVM+java系统类库
  3)JVM:java虚拟机，是java实现跨平台的最核心部分，能够运行java语言所开发的程序
2.java的8种基本数据类型是什么?(简述java的8种基本数据类型)
  答:8种基本数据类型包括: byte,short,int,long,float,double,boolean,char
    1)byte:字节型，用于存储整数的，占用1个字节，范围-128到127
    2)short:短整型，用于存储整数的，占用2个字节，范围-32768到32767
    3)int:最常用的整型，用于存储整数的，占用4个字节，范围-2^31到2^31-1
    4)long:长整型，用于存储较大的整数，占用8个字节，范围-2^63到2^63-1
    5)float:单精度符点数，用于存储小数的，占用4个字节，不能表示精确的值
    6)double:双精度符点数，最常用的存储小数的类型，占用8个字节，不能表示精确的值
    7)boolean:布尔型，用于存储true或false，占用1个字节
    8)char:字符型，采用Unicode字符编码格式，用于存储单个字符，占用2个字节
3.switch可以作用于哪些数据类型上?
  答:byte,short,int,char,String,枚举，其余类型都不允许
4.重写(override)与重载(overload)的区别:
  1)重写:发生在父子类中，方法名相同，参数列表相同
  2)重载:发生在同一类中，方法名相同，参数列表不同
 */


/*
1.重写、重载的特殊情况:
  class Aoo{
    void show(){}
  }
  class Boo extends Aoo{ //此类中发生了show方法的重载
    void show(String name){}
  }
  class Boo{ //既没有重载也没有重写
    void show(){}
  }
  class Boo{ //既没有重载也没有重写
    void show(String name){}
  }
  class Boo extends Aoo{ //发生重写了
    void show(){}
  }
2.分析如下代码，说法正确的是(A)
  class Aoo{
    Aoo(int a){ System.out.println("Aoo run"); }
  }
  class Boo extends Aoo{
    //编译错误，Boo的构造方法中会默认调用Aoo的无参构造方法，而Aoo类没有无参构造
    Boo(){ System.out.println("Boo run"); }
  }
  class Test{
    public static void main(String[] args){
      Boo o = new Boo();
    }
  }
  A:发生编译错误
  B:输出Aoo run
  C:输出Boo run
  D:输出Aoo run
    输出Boo run
3.构造方法特例:
  class Aoo{
   Aoo(){
     System.out.println("这是一个构造方法");
   }
   void Aoo(){
     System.out.println("这是一个普通方法");
   }
  }
  class Test{
    public static void main(String[] args){
      Aoo o = new Aoo(); //调用构造方法
      o.Aoo(); //调用普通方法
    }
  }
4.分析如下代码，编译运行的结果为(A)
  class Student{
    String name;
    int age;
    String address;
    Student(){
      name = "张三";
      age = 20;
      address = "廊坊";
    }
    void show(){
      System.out.println(name+","+age+","+address);
    }
  }
  class Test{
    public static void main(String[] args){
      Student s = new Student();
      s.show();
    }
  }
  A: null,0,null
  B: 张三,20,廊坊
  C: 发生编译错误
  D: 发生异常
5.分析如下代码，说法正确的是(A)
  class Aoo{
    int num;
    Aoo(int num){
      this.num = num;
    }
    void show(){
      System.out.println("num="+num);
    }
  }
  class Test{
    public static void main(String[] args){
      Aoo o = new Aoo(10);
      o.show();
    }
  }
  A:输出: num=10       花
  B:输出: num=0        火箭
  C:输出: num=null     666
  D:发生编译错误        小汽车
 */








